/*
 * 文件名：ShiroEncryption.java
 * 版权：Copyright by www.isure.net
 * 描述：
 * 修改人：
 * 修改时间：2015年11月3日
 * 跟踪单号：
 * 修改单号：
 * 修改内容：
 */

package com.mjh.zhujianju.util;

import org.apache.shiro.crypto.SecureRandomNumberGenerator;
import org.apache.shiro.crypto.hash.DefaultHashService;
import org.apache.shiro.crypto.hash.HashRequest;
import org.apache.shiro.util.ByteSource;
import org.apache.shiro.util.SimpleByteSource;

public class ShiroEncryption
{
    public static String  encrptText(String pwd){
        String na="mjh_zhujianju";
        DefaultHashService hashService = new DefaultHashService(); //默认算法SHA-512
        hashService.setHashAlgorithmName("SHA-512");
        hashService.setPrivateSalt(new SimpleByteSource(na)); //私盐，默认无
        hashService.setGeneratePublicSalt(true);//是否生成公盐，默认false
        hashService.setRandomNumberGenerator(new SecureRandomNumberGenerator());//用于生成公盐。默认就这个
        hashService.setHashIterations(1); //生成Hash值的迭代次数

        HashRequest request = new HashRequest.Builder()
                .setAlgorithmName("MD5").setSource(ByteSource.Util.bytes(pwd))
                .setSalt(ByteSource.Util.bytes(na)).setIterations(2).build();
        return hashService.computeHash(request).toHex();
    }
}
